﻿namespace Sage.WindowsProcess.Models
{
    /// <summary>
    /// 包含进程状态信息的类。
    /// </summary>
    public class ProcessStatusInfo
    {
        /// <summary>
        /// 获取或设置进程ID。
        /// </summary>
        public int ProcessId { get; set; }

        /// <summary>
        /// 获取或设置进程名称。
        /// </summary>
        public string? ProcessName { get; set; }

        /// <summary>
        /// 获取或设置内存使用量（以字节为单位）。
        /// </summary>
        public long MemoryUsageBytes { get; set; }

        /// <summary>
        /// 获取或设置CPU使用率（百分比）。
        /// </summary>
        public double CpuUsagePercent { get; set; }

        /// <summary>
        /// 获取或设置进程的运行时间。
        /// </summary>
        public TimeSpan RunningTime { get; set; }

        /// <summary>
        /// 获取或设置进程的线程数。
        /// </summary>
        public int ThreadCount { get; set; }

        /// <summary>
        /// 获取或设置进程的句柄数。
        /// </summary>
        public int HandleCount { get; set; }

        /// <summary>
        /// 获取或设置进程的启动时间。
        /// </summary>
        public DateTime StartTime { get; set; }

        /// <summary>
        /// 获取或设置一个值，该值指示进程是否响应。
        /// </summary>
        public bool Responding { get; set; }
    }
}
